package cn.net.csit.platform_cloud.basicmodel.service;


import cn.net.csit.platform_cloud.basicmodel.domain.BasicPropertyDictionaryDomain;

import java.util.List;
import java.util.Map;

public interface IBasicPropertyDictionaryService {

    //1.增加一条记录
    int insert(BasicPropertyDictionaryDomain recode);
    //2.根据主键，查询一条记录
    BasicPropertyDictionaryDomain selectById(String uuid);
    //3.根据主键，修改一条记录
    int updateByPrimaryKey(BasicPropertyDictionaryDomain recode);
    //4.根据主键，删除一条记录
    int deleteByPrimaryKey(String uuid);
    //4.1.根据主键集合，批量删除记录 暂时不加

    //5.查询所有属性记录
    List<BasicPropertyDictionaryDomain> getAll();
    List<BasicPropertyDictionaryDomain> getAllBySql(Map<String,String> map);
    //5.2查询所有属性记录-分组展示
    List<Map<String,Object>> getAllByGroup(Map<String,String> params);
    //6.查询所有属性--分页此方法不用在这写--因为调用的是 getAll()方法，用的是分页插件PageHelper

    //7.查询所有属性--条件查询
    List<BasicPropertyDictionaryDomain> getAll(Map<String,String> map);

    //7.查询所有属性--按属性组条件查询 已合并

    //8.根据属性uuid集合，批量修改属性组字段--新建属性组时使用
    int updateByPrimaryKey(String uuids,String params);
   /* //根据属性组名称，新增属性
    int insertByGroupNameList(String GroupName,String params);*/

    int deleteByPropGroupName(String propGroupName);

    //10.根据属性uuid集合，批量修改属性组字段--删除属性组时使用
    int updateRedurceByPrimaryKey(String uuids,String params);

    //9.根据属性组名称，批量修改属性组名称字段--修改属性组时使用
    int updateByGroupNameList(String oldGroupName,String newGroupName);

    Map<String,String> getPropNameByPropCode(Map<String,Object> map);

    void updatePropGroupRelation(BasicPropertyDictionaryDomain recode);
}
